package com.stars.dao.mapper.system;
import com.stars.common.annotation.DictClass;
import tk.mybatis.mapper.common.Mapper;
import org.apache.ibatis.annotations.Param;
import com.stars.entity.ListPage;
import com.stars.entity.system.SysRoleEntity;
import com.stars.entity.dto.system.SysRoleDTO;
import java.util.List;
/**
 * @Title: 角色表、角色管理表 mybatis dao
 * @author dj
 * @date 2019-10-14 19:52:12
 * @version V1.0
 *
 */
public interface SysRoleMapper extends  Mapper<SysRoleEntity>{

    /**
     * 分页查询
     * @param listPage 查询参数 起始页，大小。
     * @return
     */
    @DictClass
    List<SysRoleDTO> pageQuerySysRole(ListPage<SysRoleDTO> listPage) throws Exception;

    /**
     * 根据角色名称查询
     * @param roleName
     * @return
     * @throws Exception
     */
    List<SysRoleDTO> findByRoleName(@Param("roleName") String roleName) throws Exception;

    /**
     * 根据角色名称查询不等于本身
     * @param roleName
     * @param id
     * @return
     * @throws Exception
     */
    List<SysRoleDTO> findByRoleNameAndNotId(@Param("roleName") String roleName,@Param("id") String id) throws Exception;

    /**
     * 根据用户id查询用户拥有的角色关系
     * @param userId 用户id
     * @return
     */
    SysRoleDTO findByUserId(String userId);
}